package com.itheima.config;

import com.itheima.pojo.Family;
import com.itheima.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyUserBean {
    //@Bean注解用于将类交给SpringIOC容器管理,通常是第三方类
    //User类并没有被Spring管理起来,如果想要Spring依赖注入user对象,那么需要在配置类中使用@Bean注解,方法名任意,方法中创建user对象,方法的返回值类型是User类型
    @Bean
    public User getMyUserBean() {
        User user = new User();
        user.setName("王*培");
        user.setAge(128);
        return user;
    }


    //Family类创建对象的时候需要一个User类对象,该@Bean方法的形参user对象将由Spring自动执行依赖注入,相当于@Autowired,前提是User类要被Spring管理(否则直接报错),且方法上有@Bean注解,在@Configuration配置类中
    @Bean
    public Family aaa(User user) {
        Family family = new Family();
        family.setNumber(10);
        family.setFather(user);
        return family;
    }
}
